fmt_recipe(11.1.3)

function(add_tests)
    foreach(name ${ARGN})
        add_unit_test(
            "${name}_test"
            CATCH2
            FILES
            "${name}.cpp"
            INCLUDE_DIRECTORIES
            ${PROJECT_SOURCE_DIR}/test
            LIBRARIES
            warnings
            async
            fmt::fmt-header-only
            pthread)
    endforeach()
endfunction()

add_tests(
    allocator
    completes_synchronously
    concepts
    continue_on
    debug
    debug_context
    env
    forwarding_query
    freestanding_sync_wait
    hosted_sync_wait
    incite_on
    into_variant
    just
    just_error
    just_error_result_of
    just_result_of
    just_stopped
    let_error
    let_multichannel
    let_stopped
    let_value
    periodic
    read_env
    repeat
    retry
    sequence
    split
    start_detached
    start_on
    stop_token
    then
    timeout_after
    transform_error
    type_traits
    upon_error
    upon_stopped
    variant_sender
    when_all
    when_any)

add_subdirectory(schedulers)
add_subdirectory(fail)
